##Exercicio 8##

#Galileu estava Certo?

Partindo do tutorial Ajuste de Polinmios, avalie se um polinmio de terceiro grau  um melhor modelo para descrever os dados do experimento de Galileu. A equao para este modelo : 
#Ajuste de Polinmios

#As alturas de lanamentos e as distncias percorridas obtidas por Galileu so3):

init.h = c(600, 700, 800, 950, 1100, 1300, 1500)
h.d = c(253, 337, 395, 451, 495, 534, 573)


#GALILEU - y = a+bx+cx2 X y= a+ bx+cx e2+dx e3

mod.gal=lm(h.d~init.h+I(init.h^2))

mod.novo=lm(h.d~init.h+I(init.h^2)+ I(init.h^3))

###Modelo novo - de terceiro grau
summary(mod.novo)

#####################################################################
#Coefficients:
#              Estimate Std. Error t value Pr(>|t|)   
#(Intercept) -7.816e+02  8.478e+01  -9.219  0.00270 **
#init.h       2.771e+00  2.646e-01  10.472  0.00186 **
#I(init.h^2) -2.067e-03  2.627e-04  -7.867  0.00428 ** ##modelo de galileu
#I(init.h^3)  5.477e-07  8.327e-08   6.577  0.00715 **## modelo novo 
########################################################################

#o acrescimo do terceiro grau melhorou a explicao !

# tb podemos compara usando anova, um modelo contra o outro !
anova(mod.gal,mod.novo)
###########################################################
#Model 1: h.d ~ init.h + I(init.h^2)
#Model 2: h.d ~ init.h + I(init.h^2) + I(init.h^3)
#  Res.Df    RSS Df Sum of Sq     F  Pr(>F)   
#1      4 744.08                              
#2      3  48.25  1    695.82 43.26 0.00715 **
##########################################################
# mostra que o modelo novo  melhor novamente com o mesmo p !


#Massa de Recm-Nascidos

#Experimente todas as variveis disponveis no conjunto de dados Massa ao Nascer e Dados da me para chegar ao melhor modelo de previso da massa de bebs ao nascer.

#Antes de comear elimine as observaes com dados faltantes ,veja na descrio do arquivo.

mas=file.choose()
massa=read.table(mas, header=TRUE, sep="", as.is=TRUE)
head(massa)#ok

#Descrio das Variveis

#Varivel	Descrio
#bwt 	      Massa ao nascer em onas (999 = ignorado)
#gestation 	Durao da gestao em dias (999 = ignorado)
#parity 	0 = primeiro nascimento, 9 = ignorado
#age 	idade da me em anos
#height 	altura da me em polegadas (99 = ignorado)
#weight 	Massa da me antes da gestao, em onas
#smoke 	A me  fumante: 0 = no no momento, 1= sim no momento, 9 = ignorado

#tirando resultados errados !

sum(massa$gestation>=999)
sum(massa$bwt>=999)
sum(massa$age>=99)
sum(massa$smoke>=9)
sum(massa$height>=99)
sum(massa$parity>=9)
# muitos valores errados =p


# retirando !
massa=massa[-which(massa$gestation==999),]
massa=massa[-which(massa$height==99),]
massa=massa[-which(massa$smoke==9),]
massa=massa[-which(massa$age==99),]


# confirmando !
sum(massa$gestation>=999)
sum(massa$bwt>=999)
sum(massa$age>=99)
sum(massa$smoke>=9)
sum(massa$height>=9)
sum(massa$parity>=99) # OK !!!!!!


#Experimente todas as variveis disponveis no conjunto de dados Massa ao Nascer e Dados da me para chegar ao melhor modelo de previso da massa de bebs ao nascer.


## fazendo modelo para tds varives##

names(massa)

#"bwt" X "gestation" "parityparity"    "age"   "height"    "weight"  "smoke" 

gest=lm(massa$bwt~massa$gestation)
height =lm(massa$bwt~massa$height)
weight= lm(massa$bwt~massa$weight)
age= lm(massa$bwt~massa$age)
smoke= lm(massa$bwt~massa$smoke)
par=lm(massa$bwt~massa$parity)

#por ordem de quem explica mais !
anova(gest)#2.2e-16 *** 
anova(smoke)#2.2e-16 ***
anova(height)#1.285e-12 ***
anova(age)#0.5006
anova(weight)#0.1621
anova(par)#0.1240
#explicada em 1 lugar pelo tempo de gestao e fumo e depois pela altura da me
# o resto no tem relao

summary(gest)# r2 0.1674- explica 16% - o melhor !!!!
summary(smoke)#r2 0.0619-explica 6%


## variaveis + 1##

gest.smoke=lm(massa$bwt~massa$gestation+massa$smoke)
summary(gest.smoke)# R2 =0.2168 - 21%
anova(gest.smoke)# Esse  melhor ainda !!!!!!


gest.height=lm(massa$bwt~massa$gestation+massa$height)
summary(gest.height)# r2 = 0.1988 - 20% 
anova(gest.height)# 1.390e-11 *** -piorou


gest.age=lm(massa$bwt~massa$gestation+massa$age)
summary(gest.age)# 
anova(gest.age)# 0.1019 - piorou a explicao

gest.age=lm(massa$bwt~massa$gestation+massa$age)
summary(gest.age)# 
anova(gest.age)# 0.1019 - piorou a explicao


gest.weight=lm(massa$bwt~massa$gestation+massa$weight)
summary(gest.weight)# 
anova(gest.weight)# 0.4676  - piorou a explicao


gest.par=lm(massa$bwt~massa$gestation+massa$par)
summary(gest.par)
anova(gest.par)#   0.003903 ** - piorou a explicao


## colocando todas ##










